#include <stdio.h>
#include "EventLoop.h"
#include "BaseThread.h"

using namespace dsth;
EventLoop loop;

void Fun1() { printf("Fun1\n"); }
void Fun2() { printf("Fun2\n"); }
void Fun3() { printf("Fun3\n"); }

void addFun(const char*) {
    loop.RunInLoop(&Fun1);
    loop.RunInLoop(&Fun2);
    loop.RunInLoop(&Fun3);

    Sleep(2000);

    loop.RunInLoop(&Fun3);
    loop.RunInLoop(&Fun2);
    loop.RunInLoop(&Fun1);
}

int main(int argc, char** argv) {
    BaseThread thread(&addFun, "t1");
    thread.Run();
    loop.Loop();
}

